package weworkgo

type Config struct {
	CorpId             string //服务商的corpid
	Secret             string //服务商的secret，在服务商管理后台可见
	SuiteId            string //以ww或wx开头应用id
	SuiteSecret        string //应用secret
	Token              string //应用的Token
	AesKey             string //应用的EncodingAESKey
	RegTemplateId      string //注册定制化模板ID
	RedirectUriInstall string //安装应用的回调url（可选）
	RedirectUriSingle  string //单点登录回调url （可选
	RedirectUriOauth   string //网页授权第三方回调url （可选）

	CallbackToken          string
	CallbackEncodingAESKey string
}

type Provider struct {
	Config        Config
	PermanentCode map[string]string
}

/*
创建第三方提供商实例
*/
func NewProvider(config Config) *Provider {
	instance := Provider{
		Config:        config,
		PermanentCode: make(map[string]string),
	}

	return &instance
}

func (p *Provider) SetPermanentCode(key, value string) {
	p.PermanentCode[key] = value
}
func (p *Provider) GetPermanentCode(key string) string {
	return p.PermanentCode[key]
}
